1. Field of the Invention
The present invention generally relates to computer graphics. More specifically, the present invention relates to animation systems and methods for providing realistic modeling and animation of objects, including breaking, tearing or cracking of the objects.
2. Description of the Related Art
In commercial animation, there presently exists a high degree of enthusiasm surrounding the development of efficient and effective techniques for producing simulations of passive objects, e.g., objects without an internal source of energy. The appeal of using simulations for these objects is not surprising, as passive objects tend to have many degrees of freedom, making keyframing or motion capture difficult. Furthermore, while passive objects often are essential to the plot of an animation and affect the appearance or mood of the animation, passive objects are not characters with their concomitant requirements for control over the subtle details of the motion. Therefore, simulations in which the motion is controlled only by initial conditions, physical equations, and material parameters often are sufficient to produce appealing simulations of passive objects.
In order that adequate visual representations of the actions and interactions of passive objects are created, simulations of such objects should provide for realistic trajectories, collisions, material deformations and fractures. Heretofore, several techniques have been developed for animating dynamic, deformation-induced fracture. For example, in 1988, Terzopoulos and Fleischer, presented a general technique for modeling viscoelastic and plastic deformations. (See, D. Terzopoulos and K. Fleischer. Deformable models. The Visual Computer, 4:306-331, 1988, and; D. Terzopoulos and K. Fleischer. Modeling inelastic deformation: Viscoelasticity, plasticity, fracture. In Computer Graphics (SIGGRAPH ""88 Proceedings), volume 22, pages 269-278, August 1988).
Their method used three fundamental metric tensors to define energy functions that measured deformation over curves, surfaces, and volumes. These energy functions provided the basis for a continuous deformation model that they simulated using a variety of discretization methods. One of their methods made use of a finite differencing technique defined by controlled continuity splines. (See, D. Terzopoulos. Regularization of inverse visual problems involving discontinuities. IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(4):413-424, July 1986). In accordance with this technique, certain fracture effects could be modeled by setting the elastic coefficients between adjacent nodes of a modeled object to zero whenever the distance between the nodes exceeded a threshold. They demonstrated this technique with sheets paper and cloth that could be torn apart.
In 1991, Norton and his colleagues presented a technique for animating 3D solid objects that broke when subjected to large strains (See, A. Norton, G. Turk, B. Bacon, J. Gerth, and P. Sweeney. Animation of fracture by physical modeling. The Visual Computer, 7:210-217, 1991). Their technique used a spring and mass system to model the behavior of an object. When the distance between two attached mass points exceeded a threshold, the simulation severed the spring connection between them. To avoid having flexible strings of partially connected material hanging from the object, their simulation broke an entire cube of springs at once. They demonstrated this technique with a simulated teapot that shattered when dropped onto a table.
Two limitations are inherent in both of these methods. First, when the material of the simulated object fails, the exact locations and orientations of the fractures are not known. Rather, the failure is defined as the entire connection between the two mass points or nodes, and the orientation of the fracture plane is left undefined. As a result, these techniques can only realistically model effects that occur on a scale much larger than the inter-node spacing. The second limitation is that fracture surfaces are restricted to the boundaries in the initial mesh structure. As a result, the fracture pattern exhibits directional artifacts, similar to the xe2x80x9cjaggiesxe2x80x9d that occur when rasterizing a polygonal edge. These artifacts are particularly noticeable when the discretization follows a regular pattern. If an irregular mesh is used, then the artifacts may be partially masked, but the fractures will still be forced onto a path that follows the element boundaries so that the object can break apart only along predefined facets.
Other relevant work in computer graphics includes techniques for modeling static crack patterns and fractures induced by explosions. For instance, Hirota and colleagues described how phenomena such as the static crack patterns created by drying mud can be modeled using a mass and spring system attached to an immobile substrate. (See, K. Hirota, Y. Tanoue, and T. Kaneko. Generation of crack patterns with a physical model. The Visual Computer, 14:126-137, 1998). Additionally, Mazarak et. al. use a voxel-based approach to model solid objects that break apart when they encounter a spherical blast wave. (See, 0. Mazarak, C. Martins, and J. Amanatides. Animating exploding objects. In Graphics Interface ""99, June 1999). Also, Neff and Fiume use a recursive pattern generator to divide a planar region into polygonal shards that fly apart when acted on by a spherical blast wave. (See, M. Neff and E. Fiume. A visual model for blast waves and fracture. In Graphics Interface ""99, June 1999). However, these techniques also suffer from limitations in that they employ ad hoc criteria, which typically are unrelated to material deformation, for generating fracture.
Therefore, there is a need in the field of computer animation for improved animation systems and methods which address these and other shortcomings of the prior art.
Briefly described, the present invention provides animation systems and methods for animating object fracture. In a preferred embodiment, the present invention comprises setting initial conditions for an object, with the initial conditions including a first parameter defining a fracture condition. The object is defined by at least one node, and a second parameter corresponding to forces at the node is determined. When the second parameter equals or exceeds the first parameter, a fracture is generated within the object, with the fracture originating at the node.
In accordance with an aspect of the present invention, the fracture preferably is generated within the object by replicating the fracture origination node into a first node and a second node. A plane of fracture corresponding to the node is then computed, with the plane defining first and second sectors. A first portion of the object is then assigned to the first sector, which includes the first node, and a second portion of the object as assigned to the second sector, which includes the second node.
In accordance with another aspect of the present invention, a preferred method of animating object fracture in an object, which is defined by at least one element having a boundary, includes the steps of: (1) determining that fracture of an object should be initiated, and; (2) generating a fracture within the object, with the fracture being capable of propagating through the object independent of the boundary of the object""s defining element.
In accordance with another aspect of the present invention, a preferred embodiment of the present invention comprises a computer readable medium incorporating a computer program for animating object fracture. Preferably, the computer readable medium includes a first code segment which determines a parameter corresponding to forces at a node of an object, and a second code segment which generates a fracture within the object when the parameter at least equals an additional parameter defining a fracture condition of the object. Preferably, the generated fracture originates at the node.
In accordance with another aspect of the present invention, a preferred embodiment of the animation system of the present invention comprises means for determining a parameter corresponding to forces at a node of an object, and means for generating a fracture within the object when the parameter at least equals an additional parameter defining a fracture condition of the object. Additionally, the animation system may incorporate means for modeling the object so that the object is defined by at least one node, as well as means for rendering the object so as to produce graphic images of the object before, during and after fracture.
Other features and advantages of the present invention will become apparent to one of reasonable skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional objects, features, and advantages be included herein within the scope of the present invention, as defined by the claims.